package com.example.springbootbabyu.entity;

import lombok.Data;

/**
 * 功能
 * 作者：梦天
 * 日期：2025/6/8 15:10
 * CREATE TABLE `orders` (
 *     `id` varchar(255) NOT NULL COMMENT '订单ID',
 *     `user_id` varchar(32) DEFAULT NULL COMMENT '用户ID',
 *     `total_num` int DEFAULT NULL COMMENT '商品总数量',
 *     `total_money` int DEFAULT NULL COMMENT '订单总金额（分）',
 *     `post_fee` int DEFAULT '0' COMMENT '运费（分）',
 *     `pay_money` int DEFAULT NULL COMMENT '实际支付金额（分）',
 *     `status` tinyint DEFAULT '0' COMMENT '订单状态：0-待支付，1-已支付，2-已发货，3-已完成，4-已取消',
 *     `pay_type` tinyint DEFAULT NULL COMMENT '支付方式',
 *     `pay_channel` tinyint DEFAULT NULL COMMENT '支付渠道',
 *     `delivery_time_type` tinyint DEFAULT NULL COMMENT '配送时间类型',
 *     `buyer_message` varchar(255) DEFAULT NULL COMMENT '买家留言',
 *     `receiver_name` varchar(50) DEFAULT NULL COMMENT '收货人',
 *     `receiver_phone` varchar(20) DEFAULT NULL COMMENT '联系电话',
 *     `receiver_province` varchar(50) DEFAULT NULL COMMENT '省份',
 *     `receiver_city` varchar(50) DEFAULT NULL COMMENT '城市',
 *     `receiver_county` varchar(50) DEFAULT NULL COMMENT '区县',
 *     `receiver_address` varchar(255) DEFAULT NULL COMMENT '详细地址',
 *     `pay_latest_time` datetime DEFAULT NULL COMMENT '最晚支付时间',
 *     `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '订单创建时间',
 *     `pay_time` datetime DEFAULT NULL COMMENT '支付时间',
 *     `ship_time` datetime DEFAULT NULL COMMENT '发货时间',
 *     `complete_time` datetime DEFAULT NULL COMMENT '完成时间',
 *     `cancel_time` datetime DEFAULT NULL COMMENT '取消时间',
 *     `address_id` varchar(32) DEFAULT NULL,
 *     PRIMARY KEY (`id`),
 *     KEY `idx_user_id` (`user_id`),
 *     KEY `idx_create_time` (`create_time`),
 *     CONSTRAINT `fk_order_user` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
 * ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '订单主表'
 */
@Data
public class Orders {
    private String id;
    private String userId;
    private Integer totalNum;
    private Integer totalMoney;
    private Integer postFee;
    private Integer payMoney;
    private Integer status;
    private Integer payType;
    private Integer payChannel;
    private Integer deliveryTimeType;
    private String buyerMessage;
    private String receiverName;
    private String receiverPhone;
    private String receiverProvince;
    private String receiverCity;
    private String receiverCounty;
    private String receiverAddress;
    private String payLatestTime;
    private String createTime;
    private String payTime;
    private String shipTime;
    private String completeTime;
    private String cancelTime;
    private String addressId;
}
